1> 安装vsftpd

yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd

2> 为ftp创建用户

useradd ftpuser
passwd ftpuser

3> 创建ftp文件目录

mkdir /home/ftpuser/data
chmod 776 /home/ftpuser/data  # 对 FTP 目录加上写的权限
chown -R ftpuser:ftpuser /home/ftpuser/data

4> 修改配置文件

① 修改以下选项

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

② 屏蔽ipv6

#listen_ipv6=YES

③ 新增被动模式的配置项

local_root=/home/ftpuser/data  # 之前创建的文件目录
allow_writeable_chroot=YES
pasv_enable=YES
pasv_address=xxx.xx.xxx.xx # 云服务器公网IP
pasv_min_port=40000
pasv_max_port=45000

④ 创建并编辑 chroot_list 文件

## 指定例外用户列表
vim /etc/vsftpd/chroot_list  # 每行输入一个用户名

⑤ 重启vsftpd

systemctl restart vsftpd

5> 开放端口

-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 40000:45000 -j ACCEPT

6> ftp主动模式的配置参数

anonymous_enable=NO      #禁止匿名用户登录
local_enable=YES         #支持本地用户登录
chroot_local_user=YES    #全部用户被限制在主目录
chroot_list_enable=YES   #启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list  #指定用户列表文件,该列表中的用户不被锁定在主目录
listen=YES               #监听IPv4 sockets
#在行首添加#注释掉以下参数
#listen_ipv6=YES         #关闭监听IPv6 sockets
#添加下列参数
allow_writeable_chroot=YES
local_root=/var/ftp/test #设置本地用户登录后所在的目录